package com.hnxxxy.workshop.enums;

import lombok.Getter;

/**
 * 枚举类，统一状态码和错误信息
 * @description: 状态码定义约束，共6位数，前三位代表服务，后4位代表接口
 * 比如 商品服务210,购物车是220、用户服务230，403代表权限
 * @author: zqh
 * @date: 2022/1/10 2:40
 **/
public enum BizCodeEnum {


    /**
     * 通用操作码
     */
    OPS_REPEAT(110001,"重复操作"),


    /**
     * 账号
     */
    ACCOUNT_REPEAT(250001,"用户名已经存在"),
    ACCOUNT_UNREGISTER(250002,"账号不存在"),
    ACCOUNT_PWD_ERROR(250003,"账号或者密码错误"),
    ACCOUNT_UNLOGIN(250004,"账号未登录"),
    LANDED_SUCCESSFULLY(250005,"账号登录成功"),
    ACCOUNT_CANCELLATION(250006,"账号注销"),
    PASSWORD_DIFFERENT(250007,"两次密码不一致"),
    PARAM_ERROR(400000,"请求参数异常"),
    PARAM_NULL(400001,"请求参数不能为空"),


    // token错误
    TOKEN_ERROR(2000, "token错误"),
    NO_TOKEN_ERROR(2001, "没有token，请重新登录"),
    USER_PASSWORD_ERROR(2002, "用户名和密码错误，请重新输入"),
    USER_UPDATE_PASS_ERROR(2005, "当前密码输入错误，请重新输入"),
    USER_UPDATE_PASS2_ERROR(2006, "两次密码输入不一致，请重新输入"),
    USER_LOCKED_ERROR(2003, "用户已锁定"),
    USER_NOROLE_LOCKED_ERROR(2004, "没有角色"),
    USER_NOPERMISSION_LOCKED_ERROR(2005, "没有权限"),





    ;


    // 权限校验
    @Getter
    private String message;

    @Getter
    private int code;

    private BizCodeEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }
}
